perm filename LS[RDG,DBL]1 blob
sn#519843 filedate 1980-08-22 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 Typed logic
C00007 ENDMK
C⊗;
Typed logic
u, u-i, u0, u1, u2, ... Satisfy Unitp, i.e. represents Units
s, s-i, s0, s1, s2, ... Satisfy Slotp, i.e. represents Slots
(subtype of Units)
f, f-i, f0, f1, f2, ... represents Functions
l, l-i, l0, l1, l2, ... Satisfy LISTP, i.e. represents Lists
t, t-i, t0, t1, t2, ... represents Times
[ p's are used for pseudo-slots ]
LISP OVERHEAD:
[Note- this is essentially MEMB]
∀ v,l. v in l ≡ [ (l ≠ NIL) & ( v = CAR(l) ∨ v in CDR(l) )]
Slot Related Overhead:
∀ s. HighLevelDefn( s ) = GetValue( s,'HighLevelDefn )
∀ s. Format( s ) = GetValue( s,'Format )
∀ s. Defn( s ) = GetValue( s,'Defn )
∀ s. Domain( s ) = GetValue( s,'Domain )
∀ s. Range( s ) = GetValue( s,'Range )
∀ u,s. GetValue-1( u,s ) = GetValue( u,s )
∀ u,s. GetValue( u,s ) = OR( UA-GETVALUE( u,s ), APPLY( Defn( s ), u ) )
∀ p. Format( p ) = CAR( Range( p ))
∀ p,HLD. HighLevelDefn( p ) = HLD ⊃
Parse( HLD ) = LIST( Defn( p ), Range( p ), Domain( p ), ? ).
∀ u,p. GetValue-1( u,p ) = APPLY( Defn( p ),u ).
∀ u,p,v. InValue( u,p,v ) ≡
{ [ (Format( p ) ε {FSingleton} ) & v = GetValue-1( u,p ) ]
[ (Format( p ) ε {FSet, FList} ) & v in GetValue-1( u,p ) ] }
CONSISTENCY:
∀ u,s,v,v',t0,t1,t2.
[ UA-PUTVALUE( u,s,v )(t0) & [t0<t1<t2 ⊃ ¬UA-PUTVALUE( u,s,v' )(t1) ] ] ⊃
UA-GETVALUE( u,s )(t2) = v.
∀ u,s,v,v',t0,t1,t2.
[ PutValue( u,s,v )(t0) & [t0<t1<t2 ⊃ ¬PutValue( u,s,v' )(t1) ] ] ⊃
GetValue( u,s )(t2) = v.
∀ s1,s2. s2 = GetValue( s1,'Inverse ) ⊃
[∀ u,v. InValue( u1,s,v ) ⊃ [Unitp( v ) & InValue( v,s2,u )] ]
SLOT DEFINATION:
COMPOSITION:
∀ p1,HLD,u. HLD = HighLevelDefn( p1 ) & Composition = CAR( HLD ) ⊃
∃ p2. HighLevelDefn( p2 ) = CAR (CDR ( HLD ) ) &
[IF CDR( CDR( HLD ) ) = NIL
THEN GetValue-1( u,p1 ) = GetValue-1( u,p2 )
ELSE ∃ p3. HighLevelDefn( p3 ) = CONS('Composition, CDR( CDR (HLD) ) )] &
∀ v. InValue( u,p2,v ) ⊃
Unitp( v ) & GetValue-1( v,p3 ) = GetValue-1( u,p1 )
UNIONING:
∀ p1,HLD,u. HLD = HighLevelDefn( p1 ) & Composition = CAR( HLD ) ⊃
[∃ p2. HighLevelDefn( p2 ) = CAR (CDR ( HLD ) ) &
∀ v. InValue( u,p2,v ) ⊃ InValue( u,p1,v )] &
[IF CDR( CDR( HLD ) ) ≠ NIL
THEN ∃ p3. HighLevelDefn( p3 ) = CONS('Unioning, CDR( CDR (HLD) ) )] &
∀ v. InValue( u,p2,v ) ⊃ InValue( u,p1,v )
STARRING:
∀ p1,HLD,u. HLD = HighLevelDefn( p1 ) & Starring = CAR( HLD ) ⊃
InValue( u,p2,u ) &
∃ p2. HighLevelDefn( p2 ) = CAR (CDR ( HLD ) ) &
∀ v,v1. InValue( u,p2,v ) ⊃
Unitp( v ) & [InValue( v,p1,v1 ) ⊃ InValue( u,p1,v1 ) ]